Electronic devices such a consumer electronics (CE) devices utilize a variety of approaches for invocation of their functionalities (e.g., UPnP, Jini). As new devices and technologies become available, new invocation mechanisms are required to operate these devices.
In existing approaches, the logic/code that performs device invocation is introduced during the design of a device or a design of the networked devices. New features such as support for invoking device functionalities are provided by introducing new code.
A shortcoming of such conventional approaches is that different devices provide different sets of application programming interfaces (APIs) for invocation of their functionalities. Even devices of the same class can differ in the way their functionalities are invoked.
Further, in network systems such as home-networking middleware systems, all of the different invocation mechanisms have to be incorporated during the design phase. As a result, the devices that the existing middleware systems can operate are fixed during the design phase, and are not easily expandable. As new devices and technologies become available, new interfaces are needed for invoking device functionalities. Conventionally, the middleware system has to be redesigned to invoke these new devices/technologies. Redesigning the existing middleware system requires writing new code. Further, the middleware system must be recompiled and reinstalled for the new code to take effect in the system. However, in CE devices (e.g., CD player, VCR, TV, DVD player, PVR, STB), unlike personal computers (PCs), installing new programs and updating existing programs is difficult due to scant support for such actions. Even if such support exists, it is not standardized for all CE devices.
Given the heterogeneity of CE devices, introducing a new invocation mechanism conventionally has been very difficult. There is, therefore, a need for a method and system that allows invocation of functionalities for new devices and technologies without requiring redesign or recoding of invocation mechanisms in electronic devices.